package com.ruoyi.management.service.impl;

import java.math.BigDecimal;
import java.util.List;
import java.util.Objects;

import com.ruoyi.management.domain.Bx;
import com.ruoyi.management.mapper.BxMapper;
import com.ruoyi.management.service.IBxService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;


/**
 * 【请填写功能名称】Service业务层处理
 *
 * @author ruoyi
 * @date 2025-05-19
 */
@Service
public class BxServiceImpl implements IBxService
{
    @Autowired
    private BxMapper bxMapper;

    @Value("${uploadfpUrlhttp}")
    private String uploadfpUrlhttp;

    /**
     * 查询【请填写功能名称】
     *
     * @param xmmc 【请填写功能名称】主键
     * @return 【请填写功能名称】
     */
    @Override
    public Bx selectBxByXmmc(int id)
    {
        return bxMapper.selectBxByXmmc(id);
    }

    /**
     * 查询【请填写功能名称】列表
     *
     * @param bx 【请填写功能名称】
     * @return 【请填写功能名称】
     */
    @Override
    public List<Bx> selectBxList(Bx bx)
    {
        List<Bx> bxList = bxMapper.selectBxList(bx);
        for(int m=0;m<bxList.size();m++){
            if(null != bxList.get(m).getAddress() && !Objects.equals(bxList.get(m).getAddress(), "")){
                String path = bxList.get(m).getAddress();
                if(path.indexOf(";")!= -1){
                    //
                    String[] fruits = path.split(";");
                    String itemfruits = "";
                    for (String fruit : fruits) {
                        itemfruits =  itemfruits + uploadfpUrlhttp + fruit + ";";
                    }
                    bxList.get(m).setAddress(itemfruits);
                }else{
                    bxList.get(m).setAddress(uploadfpUrlhttp + bxList.get(m).getAddress());
                }

            }
        }
        return bxList;
    }

    /**
     * 新增【请填写功能名称】
     *
     * @param bx 【请填写功能名称】
     * @return 结果
     */
    @Override
    public int insertBx(Bx bx)
    {
        return bxMapper.insertBx(bx);
    }

    /**
     * 修改【请填写功能名称】
     *
     * @param bx 【请填写功能名称】
     * @return 结果
     */
    @Override
    public int updateBx(Bx bx)
    {
        return bxMapper.updateBx(bx);
    }

    /**
     * 批量删除【请填写功能名称】
     *
     * @param xmmcs 需要删除的【请填写功能名称】主键
     * @return 结果
     */
    @Override
    public int deleteBxByXmmcs(String[] xmmcs)
    {
        return bxMapper.deleteBxByXmmcs(xmmcs);
    }

    /**
     * 删除【请填写功能名称】信息
     *
     * @param xmmc 【请填写功能名称】主键
     * @return 结果
     */
    @Override
    public int deleteBxByXmmc(String xmmc)
    {
        return bxMapper.deleteBxByXmmc(xmmc);
    }

    @Override
    public List<Bx> selectCcsqLisGroupbyXmid(Bx bx)
    {
        List<Bx> bxlist  = bxMapper.selectCcsqLisGroupbyXmid(bx);
        BigDecimal sum = BigDecimal.ZERO;
        for (Bx item:bxlist){
            sum = sum.add(item.getJine());
        }
        Bx bxsum =new Bx();
        bxsum.setXmmc("合计");
        bxsum.setJine(sum);
        bxlist.add(bxsum);
        return bxlist;
    }
}
